//author:dhclly
var o = console.log;
var DirectionInit;
(function (DirectionInit) {
    DirectionInit[DirectionInit["Up"] = 1] = "Up";
    DirectionInit[DirectionInit["Down"] = 2] = "Down";
    DirectionInit[DirectionInit["Left"] = 3] = "Left";
    DirectionInit[DirectionInit["Right"] = 4] = "Right";
})(DirectionInit || (DirectionInit = {}));
var DirectionDefault;
(function (DirectionDefault) {
    DirectionDefault[DirectionDefault["Up"] = 0] = "Up";
    DirectionDefault[DirectionDefault["Down"] = 1] = "Down";
    DirectionDefault[DirectionDefault["Left"] = 2] = "Left";
    DirectionDefault[DirectionDefault["Right"] = 3] = "Right";
})(DirectionDefault || (DirectionDefault = {}));
var DirectionString;
(function (DirectionString) {
    DirectionString["Up"] = "UP";
    DirectionString["Down"] = "DOWN";
    DirectionString["Left"] = "LEFT";
    DirectionString["Right"] = "RIGHT";
})(DirectionString || (DirectionString = {}));
var NResponse;
(function (NResponse) {
    NResponse[NResponse["No"] = 0] = "No";
    NResponse[NResponse["Yes"] = 1] = "Yes";
})(NResponse || (NResponse = {}));
function nrespond(recipient, message) {
    // ...
}
nrespond("Princess Caroline", NResponse.Yes);
//不建议这么瞎几把搞
var BooleanLikeHeterogeneousEnum;
(function (BooleanLikeHeterogeneousEnum) {
    BooleanLikeHeterogeneousEnum[BooleanLikeHeterogeneousEnum["No"] = 0] = "No";
    BooleanLikeHeterogeneousEnum["Yes"] = "YES";
})(BooleanLikeHeterogeneousEnum || (BooleanLikeHeterogeneousEnum = {}));
var FileAccess;
(function (FileAccess) {
    // constant members
    FileAccess[FileAccess["None"] = 0] = "None";
    FileAccess[FileAccess["Read"] = 2] = "Read";
    FileAccess[FileAccess["Write"] = 4] = "Write";
    FileAccess[FileAccess["ReadWrite"] = 6] = "ReadWrite";
    // computed member
    FileAccess[FileAccess["G"] = "123".length] = "G";
})(FileAccess || (FileAccess = {}));
var ShapeKind;
(function (ShapeKind) {
    ShapeKind[ShapeKind["Circle"] = 0] = "Circle";
    ShapeKind[ShapeKind["Square"] = 1] = "Square";
})(ShapeKind || (ShapeKind = {}));
// let c: Circle = {
//     kind: ShapeKind.Square,
//     //    ~~~~~~~~~~~~~~~~ Error!
//     radius: 100,
// }
var Enum;
(function (Enum) {
    Enum[Enum["A"] = 0] = "A";
})(Enum || (Enum = {}));
var a = Enum.A;
var nameOfA = Enum[a]; // "A"
var ConstEnumA = 1 /* A */;
var ConstEnumB = 2 /* B */;
var directions = [0 /* Up */, 1 /* Down */, 2 /* Left */, 3 /* Right */];
